Internet Protocol (IP) networks and systems have been used to deliver voice, data, or video communications. For example, VoIP systems may employ various signaling protocols for establishing and terminating calls between communication endpoints such as phones, and employ media transportation protocols for exchanging voice packets between the endpoints over a communication network.
However, a call connected through a VoIP system may sometimes be dropped or fail to establish if a server or a component of the VoIP system has failed or become unavailable.
Some high availability and redundancy solutions are known in the art. For example, U.S. Pat. No. 7,664,014 mentions recovery of voice packets loss using stored Session Description Protocol (SDP) information of the media portion of a call. However, this proposed solution is inefficient because it does not detect the exact location of the failure. Rather, upon detecting an undeliverable voice packet sent by a first gateway, the call is re-presented using another gateway regardless of whether there has been any fault occurring in the first gateway. U.S. Pat. No. 7,688,804 proposed another system where a monitoring server is inserted into a call path so that when one user agent fails, the monitoring server re-routes the call to the other user agent. This proposal is also inefficient because it introduces a new component into the call path. Furthermore, the added monitoring server creates a point of potential failure that cannot be recovered.
Other prior art high availability and redundancy solutions, such as the system proposed in U.S. Pat. No. 6,992,974, generally require the communication endpoints to detect failure of a call handled by a primary server and accordingly reinitiate the failed call using a backup server. Disadvantageously, with this approach, call recovery takes a long time, resulting in unsatisfactory caller experience. Another disadvantage associated with long recovery time is that a caller is more likely to disconnect or give up the call before the endpoint system has a chance to initiate the recovery of the failed call.
Therefore, there remains a need for a method and system for providing fast fail-safe call survival from a single point of failure within a VoIP system.